home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-02
/
nrpas13.zip
/
MIDSQU.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1991-04-29
|
869b
|
36 lines
PROCEDURE midsqu(aa,bb: real; VAR s: real; n: integer);
(* Programs using MIDSQU must define the function to be integrated
with the declaration FUNCTION func(x: real): real; They must also declare
the global variable
VAR
glit: integer; *)
VAR
j: integer;
x,tnm,sum,del,ddel,b,a: real;
FUNCTION funk(x: real): real;
BEGIN
funk := 2.0*x*func(bb-sqr(x))
END;
BEGIN
b := sqrt(bb-aa);
a := 0.0;
IF (n = 1) THEN BEGIN
s := (b-a)*funk(0.5*(a+b));
glit := 1
END ELSE BEGIN
tnm := glit;
del := (b-a)/(3.0*tnm);
ddel := del+del;
x := a+0.5*del;
sum := 0.0;
FOR j := 1 TO glit DO BEGIN
sum := sum+funk(x);
x := x+ddel;
sum := sum+funk(x);
x := x+del
END;
s := (s+(b-a)*sum/tnm)/3.0;
glit := 3*glit
END
END;